# 1. 在函数内部修改全局变量
# 默认情况下，函数内部赋值操作会创建局部变量。使用 global 可明确告知 Python 解释器该变量是全局变量。
# 2. 避免变量作用域冲突
# 防止因同名局部变量覆盖全局变量导致的逻辑错误。
x = 10  # 全局变量

def func1():
    print(x)    # 10 输出全局变量x

def func2():

    x = 20  # 创建了一个局部变量x，不会修改全局变量
    print(x)    # 20 输出局部变量x

def func3():
    global x  # 告诉Python解释器，x是全局变量
    x = 30  # 修改全局变量x的值
    print(x)    # 30 输出修改后的全局变量x

if __name__ == '__main__':
    func1() # 10 输出全局变量x
    func2() # 20 输出局部变量x
    print(x)    # 10 输出全局变量x
    func3() # 30 输出修改后的全局变量x
    print(x)    # 30 输出修改后的全局变量x